// vite.config.ts
import {loadEnv, type ConfigEnv, type UserConfigExport} from 'vite'
import vue from '@vitejs/plugin-vue'
import { viteMockServe } from 'vite-plugin-mock'
// @ts-ignore
import path from 'path'
export default ({command,mode}:ConfigEnv):UserConfigExport=>{
  //获取当前模式
  //@ts-ignore
  const env = loadEnv(mode,process.cwd())
  return {
        plugins: [
          vue(),
          viteMockServe({
            localEnabled:command == "serve"
          })
        ],
        resolve: {
            alias: {
                "@": path.resolve("./src"),
            },
        },
        //开启代理服务器解决跨域
        server:{
          proxy:{
            //如果请求的url地址中包含/dev-api 那么就开启代理
            //从对象中获取属性要加 []
            [env.VITE_APP_BASE_API]:{
              //指定要代理到的目标服务器地址(真正的服务器地址)
              target:env.VITE_APP_SERVICE_URL,
              //开启代理
              changeOrigin:true,
              //当前请求地址是http://localhost:5173/dev-api/login
              //但是真正的服务器地址是http://localhost:3000/login 里面不需要/dev-api所以需要去除
              rewrite:(path)=>path.replace(/^\/dev-api/,"")
              
            }
          }
        }
       
    };
}
